public class Solution {
    public boolean isPalindrome(int x) {

        // 负数和以0结尾的数字（不等于0）一定不是回文数
        if (x < 0 || (x % 10 == 0 && x != 0)) {
            return false;
        }

        int reversedHalf = 0;
        // 只反转一半的数字
        while (x > reversedHalf) {
            reversedHalf = reversedHalf * 10 + x % 10;
            x /= 10;
        }

        // 如果数字长度是奇数，可以通过 reversedHalf/10 去掉中间的数字
        return x == reversedHalf || x == reversedHalf / 10;


    }



    public static void main(String[] args) {
        Solution solution = new Solution();

        // 测试示例1
        System.out.println(solution.isPalindrome(121)); // 输出 true

        // 测试示例2
        System.out.println(solution.isPalindrome(-121)); // 输出 false

        // 测试示例3
        System.out.println(solution.isPalindrome(10)); // 输出 false
    }



}


